/*
 * Copyright (c) 2008, Xiong Yingfei, the University of Tokyo
 * All rights reserved.
 */
package ac.jp.u_tokyo.SyncLib.language3;

import java.util.Collection;
import java.util.List;
import java.util.Set;

import ac.jp.u_tokyo.SyncLib.language.EvaluationFailedException;
import ac.jp.u_tokyo.SyncLib.language.GraphCombinatorBody;
import ac.jp.u_tokyo.SyncLib.language.SyncBody;

public abstract class FixedParaSyncConstructBase extends SyncConstruct
{

	public FixedParaSyncConstructBase(int line)
	{
		super(line);
	}

	@Override
	public SyncBody getBody(List<Var> imposedVars,
			Collection<String> genericParas) throws EvaluationFailedException
	{
		GraphCombinatorBody result = new GraphCombinatorBody(getLine());
		result.addParameters(Helper.higherVar2LowerVar(imposedVars));
		addBody(result, genericParas);
		return result;
	}
}
